1 Public Class FrmPOSEDIT
2 Dim vat_tax As Double
3 Private Sub FrmPOSEDIT_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
4 'FrmPOSSTOCKSLIST.ShowDialog()
5 ' txtid.Text = ""
6 ' txtname.Text = ""
7 ' txtprice.Text = ""
8 ' txtqty.Text = "0"
9 txtreturn.Text = "0"
10 txtreturn.Select()
11 vat_tax = (100 + VAT) / 100
12 End Sub
13
14 Private Sub cmdcancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdcancel.Click
15 Me.Close()
16 End Sub
17
18 Private Sub cmdsave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdsave.Click
19 Dim tmp_Name As String
20 Dim VATable As Double
21 Dim TotalAmount As Double
22 Dim TotalSale As Double
23 Dim Vat12 As Double
24 Dim TotalAmount_Due As Double
25 Dim tmpSalesID As Integer
26 VATable = 0
27 TotalAmount = 0
28 TotalSale = 0
29 Vat12 = 0
30 TotalAmount_Due = 0
31
32 If txtid.Text = "" Or txtname.Text = "" Then
33 MsgBox("Cannot save this without details !!", MsgBoxStyle.Information, "Sales and Inventory")
34 Exit Sub
35 End If
36
37 If CDbl(txtreturn.Text) > CDbl(txtqty.Text) Then
38 MsgBox("Return Quantity Should Not Greater Than Current Quantity !!", MsgBoxStyle.Exclamation, "Sales and Inventory")
39 Exit Sub
40 End If
41 If txtreturn.Text = "0" Or CDbl(txtreturn.Text) = 0 Then
42 MsgBox("Can't continue with zero quantity !!", MsgBoxStyle.Exclamation, "Sales and Inventory")
43 Exit Sub
44 End If
45 If txtreturn.Text <> "0" Or CDbl(txtreturn.Text) <> 0 Then
46 sqlSTR = "SELECT * FROM TBL_Category_Item_File WHERE Item_ID =" & txtid.Text
47 ExecuteSQLQuery(sqlSTR)
48 tmp_Name = sqlDT.Rows(0)("Item_Name")
49
50 Select Case MsgBox("Would you like previous item as pending defective ???", MsgBoxStyle.YesNoCancel + MsgBoxStyle.Information, "Sales and Inventory")
51 Case MsgBoxResult.Yes
52 sqlSTR = "INSERT INTO TBL_Pending_Item (Item_ID, Pending_Date, User_ID, Item_QTY, Returnx, Receipt_ID, Sales_Detail_ID) " & _
53 "VALUES (" & Label4.Text & ", " _
54 & "'" & Format(Now, "MM/dd/yyyy") & "', " _
55 & xUser_ID & ", " _
56 & CDbl(txtreturn.Text) & ", " _
57 & "'" & "No" & "', " _
58 & FrmPOSVIEW.txtreceiptid.Text & ", " _
59 & Label6.Text & ")"
60 ExecuteSQLQuery(sqlSTR)
61 'MARK AS / [#] DEFECTIVE
62
63 'GET THE SALES_ID
64 sqlSTR = "SELECT * FROM TBL_Sales_Receipt WHERE Receipt_ID =" & FrmPOSVIEW.txtreceiptid.Text
65 ExecuteSQLQuery(sqlSTR)
66
67 tmpSalesID = sqlDT.Rows(0)("Sales_ID")
68 sqlSTR = "UPDATE TBL_Sales_Sold_Detail " & _
69 "SET Item_QTY =" & CDbl(txtqty.Text) - CDbl(txtreturn.Text) & ", " _
70 & "Total_Price =" & (CDbl(txtqty.Text) - CDbl(txtreturn.Text)) * CDbl(txtprice.Text) & ", " _
71 & "Item_Name = '" & R_eplace(tmp_Name) & " - " & CDbl(txtreturn.Text) & " QTY Defective Product(s)" & "'" & _
72 " WHERE Sales_Detail_ID =" & Label6.Text & _
73 " AND Sales_ID =" & tmpSalesID
74 ExecuteSQLQuery(sqlSTR)
75
76 Audit_Trail(xUser_ID, TimeOfDay, "Return Product(s) to Pending Item as Defective Stocks")
77 Case MsgBoxResult.No
78 sqlSTR = "SELECT * FROM TBL_Sales_Receipt WHERE Receipt_ID =" & FrmPOSVIEW.txtreceiptid.Text
79 ExecuteSQLQuery(sqlSTR)
80
81 tmpSalesID = sqlDT.Rows(0)("Sales_ID")
82
83 sqlSTR = "UPDATE TBL_Sales_Sold_Detail " & _
84 "SET Item_QTY =" & CDbl(txtqty.Text) - CDbl(txtreturn.Text) & ", " _
85 & "Total_Price =" & (CDbl(txtqty.Text) - CDbl(txtreturn.Text)) * CDbl(txtprice.Text) & ", " _
86 & "Item_Name ='" & R_eplace(tmp_Name) & " - " & CDbl(txtreturn.Text) & " QTY Return Product(s)" & "'" & _
87 " WHERE Sales_Detail_ID =" & Label6.Text & _
88 " AND Sales_ID =" & tmpSalesID
89 ExecuteSQLQuery(sqlSTR)
90
91 'START TO RE-COMPUTE
92 sqlSTR = "SELECT * FROM TBL_Sales_Sold_Detail WHERE Sales_ID =" & tmpSalesID
93 ExecuteSQLQuery(sqlSTR)
94 If sqlDT.Rows.Count > 0 Then
95 For x = 0 To sqlDT.Rows.Count - 1
96 TotalAmount = TotalAmount + CDbl(sqlDT.Rows(x)("Item_QTY")) * CDbl(sqlDT.Rows(x)("Item_Price"))
97 Next
98 End If
99
100 VATable = Format(TotalAmount - (TotalAmount - (TotalAmount / vat_tax)), "###,###.00")
101 TotalSale = VATable
102 Vat12 = Format((TotalAmount - (TotalAmount / vat_tax)), "###,###.00")
103 TotalAmount_Due = Format(CDbl(TotalSale) + CDbl(Vat12), "###,###,###.00")
104
105
106 'FOR TBL_Sales_Sold
107 sqlSTR = "UPDATE TBL_Sales_Sold " & _
108 "SET Amount_Due =" & TotalAmount & ", " _
109 & "Amount_Change = Amount_Receive -" & TotalAmount & _
110 " WHERE Sales_ID =" & tmpSalesID
111 ExecuteSQLQuery(sqlSTR)
112
113 'FOR TBL_Sales_Receipt
114 sqlSTR = "UPDATE TBL_Sales_Receipt " & _
115 "SET Vatable =" & VATable & ", " & "Total_Sale =" & TotalSale & ", " & _
116 "Amount_Due =" & TotalAmount_Due & ", " & "Vat =" & Vat12 & _
117 "WHERE Sales_ID =" & tmpSalesID
118 ExecuteSQLQuery(sqlSTR)
119 Audit_Trail(xUser_ID, TimeOfDay, "Return Product(s) Request by Client")
120 Case MsgBoxResult.Cancel
121 Exit Sub
122 End Select
123 'RETURN TO STOCKS
124 ' MsgBox("here")
125 sqlSTR = "UPDATE TBL_Stocks_Balances " & _
126 "SET Item_QTY = Item_QTY + " & CDbl(txtreturn.Text) & _
127 "WHERE Item_ID =" & txtid.Text
128 ExecuteSQLQuery(sqlSTR)
129
130 End If
131
132
133
134 With FrmPOSVIEW
135 .lstitems.FocusedItem.SubItems(1).Text = CDbl(txtqty.Text) - CDbl(txtreturn.Text)
136 End With
137 Me.Close()
138 End Sub
139
140 Private Sub txtreturn_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtreturn.TextChanged
141 If txtreturn.Text = "" Then txtreturn.Text = "0"
142 txtreturn.Text = str_Filter(txtreturn, 48, 57, 0, 0)
143 End Sub
144 End Class